/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package com.myapp.struts;

import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.upload.FormFile;
import java.io.*;

/**
 *
 * @author Claudia
 */
public class PerfilesAction extends org.apache.struts.action.Action {
    
    /* forward name="success" path="" */
    private static final String SUCCESS = "success";
    

    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
       
       PerfilesForm myForm = (PerfilesForm)form;



  // Process the FormFile

  FormFile myFile = myForm.getTheFile();

  String contentType = myFile.getContentType();

  //Get the file name

  String fileName  = myFile.getFileName();

  //int fileSize = myFile.getFileSize();

  byte[] fileData  = myFile.getFileData();

  //Get the servers upload directory real path name

  String filePath = getServlet().getServletContext().getRealPath("/images");

  /* Save file on the server */

  if(!fileName.equals("")){

          System.out.println("Server path:" +filePath);

          //Create file

          File fileToCreate = new File(filePath, fileName);

          //If file does not exists create file

          if(!fileToCreate.exists()){

                  FileOutputStream fileOutStream = new FileOutputStream(fileToCreate);

                  fileOutStream.write(myFile.getFileData());

                  fileOutStream.flush();

                  fileOutStream.close();

          }

  }

  //Set file name to the request object

//  request.setAttribute("fileName",fileName);
 HttpSession h = request.getSession();  //nombre obtenido :D
  int ingresar =   new DAL.PerfilDAL().ingresarPerfil(h.getAttribute("usuarios").toString(),myForm.getNombre(),myForm.getApellido(),fileName);


        if(ingresar==1)
        {
            h.setAttribute("nombre", myForm.getNombre());
            h.setAttribute("foto", fileName);
             return mapping.findForward("perfilOk");
        }
        else
             return mapping.findForward("maloPerfil");

    
    }
}
